package com.newtype.meeting.client.service;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.newtype.meeting.client.model.Department;
import com.newtype.meeting.shared.DepartmentTreeDTO;

public interface DepartmentServiceAsync {

	void saveDepartment(Department department, AsyncCallback<Void> callback);

	void getTreeModel(AsyncCallback<DepartmentTreeDTO> callback);

	void listDepartment(AsyncCallback<List<DepartmentTreeDTO>> callback);

	void listChildDepartment(DepartmentTreeDTO department,
			AsyncCallback<List<DepartmentTreeDTO>> callback);

	void getDepartment(String id, AsyncCallback<Department> callback);

	void getDepartmentTree(AsyncCallback<DepartmentTreeDTO> callback);

	void getDepartmentChildren(Department department,
			AsyncCallback<List<Department>> callback);

}
